Filters are ubiquitous in database and Internet applications. A user inputs search criteria to a filter and the filter returns results matching the search criteria. One conventional filter is non-iterative and typically comprises a complex user interface with numerous input fields requiring user-determined criteria. Another conventional filter is iterative; a user is able to “add on” to an existing list of returned results. Although conventional filtering technology has proven to be useful, it would be desirable to present additional improvements.
The non-iterative conventional filter requires the user to define search criteria with desired end results in mind, putting the burden of correctly identifying unknown objects on the user. The complex user interface typically comprises numerous criteria input fields in which the user has only one option to enter search criteria to reach the desired results. Forming such search criteria may be a difficult task since the desired objects searched for by the user may be unknown to the user.
If the filter does not return the objects desired by the user, the user may wish to refine the search. If so, the user is required to define new search criteria that overwrite the results that were reached with the previous search. In most cases, some of the results returned from the first trial are valuable to the user. This search becomes more difficult for the user if the given filter does not comprise all the fields required to define a desired criterion that may return desired results. An example of this search is a type of a Google® search, the results of each search are discarded when a new search is entered.
The iterative conventional filter allows a user to “add on” to an existing list of returned results. The objects from each iteration are appended to a search result list. However, not all the results returned from each iteration may be desirable to the user. In many cases, the search result list comprises results that the user does not desire and does not want to keep. The iterative conventional filter does not allow the user to refine the search result list. Consequently, after numerous iterations the appended search result list becomes a long list of objects of desired matches and undesired matches. The user is required to evaluate this long list of objects to identify desired objects.
What is therefore needed is a system, a computer program product, and an associated method for providing persistent refined results selected from dynamic iterative filtering. Such a system would maintain a persistent list of objects selected by a user from search results in an iterative fashion, allowing the user to form a list of desired objects from additional filters. The need for such a solution has heretofore remained unsatisfied.